sea's blog → Algebra, Lisp, and miscellaneous thoughts

Table of Contents

We should migrate to IPv6-only wherever possible

IPv6 is (compared to IPv4) beautiful. The address space is huge; everyone gets a massive block to subdivide as they like: It's standard for ISPs to hand you a /56, though some utterly incompetent baboons still hand out only a single /64.

You never have to do any kind of address-space management nonsense. All of that DHCP-planning and central management goes away. Instead, you only need a tiny bit of bookkeeping to know which regions you've got, and delegate entire blocks to those. Every network segment gets its own /64, and within that the devices will use SLAAC to grant themselves their own addresses, automatically.

From the perspective of distributed systems, the router advertisements, RDNSS, and NDP messages are very cool. The ICMP messages for fragmentation size calculation are neat! Everything talks to everything else and autoconfigures itself dynamically constantly. Nothing is set once, everything is constantly being re-set and expiring so the system as a whole is self healing.

IPv6 is global, and encourages you to set up your firewall appropriately, since you can no longer rely on NAT to 'protect' you. That, and it means that anything can (in principle) talk to anything else. You'll never again be locked out of ssh'ing into your system because your stupid ISP was in the way. You'll never again be locked out of anything. As long as you know the address and have the firewall rules configured, you can connect.

More importantly, IPv6 is the future for the poor and disadvantaged. In smaller countries, ISPs can't afford IPv4 blocks and so they block off the entire damn region behind CGNAT. Nobody can host a server unless they pay for it in the cloud, and not everyone has that kind of money. Some people are unbelievably poor, and by some people I mean half of the entire human species. Everyone deserves to be able to publish their stuff and be heard. Everyone should have a voice.

The IPv6 address spaces are so enormous that even if you knew my prefix, you simply could not scan it for hosts, no matter how much bandwidth you had available. This means that there should be a massive reduction in all the random scans and attacks I receive every day on the internet. The network is finally quiet and clean, peaceful.

I use IPv6-only because IPv4 is broken. NAT broke it and the address blocks are exhausted. The protocol is, as far as I'm concerned, deprecated and obsolete, and should not be used at all. Don't write new code to interoperate with IPv4. Just set your infrastructure to be pure IPv6 and set up a translation host at the network edge for those poor incompetent fools that can't learn modern protocols.